草庐IT

javascript var 与这个

全部标签

c++ - 有人可以向我澄清这个数组/指针的想法吗?

为了解释数组只是指向我们类(class)的指针(在C++中),我的教授向我们展示了这个:array[5]//cout'ingthis*(array+5)//wouldreturnthesamevalueasthis我在完全理解它时遇到了一些麻烦。这是我的想法:array是第一个位置的地址,因此如果我们将5添加到该地址,我们将在内存中移动5个地址。指针运算符从内存位置提取数据。这是正确的想法吗?这个想法对我来说仍然是模糊的,只是觉得我不完全理解它。我想听听别人的解释可能会帮助我更好地理解它。提前致谢! 最佳答案 你的想法是正确的。数组

c++ - 为什么这个程序会无限循环?

我有这样一个程序:#include#includestaticintpswd=0;intmain(){do{std::cout>pswd;}while(pswd!=3855);std::cout我可能有一个愚蠢的问题。当我输入无效值(使用非数字符号或大于int的值)时,程序会进入无限循环,而不会从控制台读取任何信息。Ineedyourpassword:Ineedyourpassword:Ineedyourpassword:Ineedyourpassword:Ineedyourpassword:Ineedyourpassword:Ineedyourpassword:Ineedyourpa

c++ - 这个构造函数定义有什么好处

这个问题在这里已经有了答案:Inthisspecificcase,isthereadifferencebetweenusingamemberinitializerlistandassigningvaluesinaconstructor?(12个答案)关闭9年前。我只是浏览Cprogramming.com上的随机页面并注意到ConstructorsandDestructors教程/示例页面。他们使用了以下定义构造函数的方法:classString{private:char*str;intsize;public:String():str(NULL),size(0){}//我一直在使用构造函

c++ - 为什么这个简单的线程代码会失败?

我正试图做到这一点,我不能从循环中调用线程。但是当我运行它时,我得到一个运行时错误:terminatecalledafterthrowinganinstanceof'std::system_error'what():InvalidargumentThread#1#include#include#include#include#includestd::mutexm;staticintthread_count;autofoo=[&]{std::lock_guardlock(m);std::cout>threads(20,std::make_shared(foo));for(constaut

c++ - 这个 std::string 构造函数是什么意思

今天我试图研究一段代码,但我被这一行卡住了。std::vectorListOfFnPointers;这个std::string构造函数是什么意思?我经历了this但我不知道这是什么意思。它在代码中用作,if(!ListOfFnPointers.empty()){std::vectorStringList;for(autoFn:ListOfFnPointers){StringList.push_back((pSomeClassObj->*Fn)());}...}声明是什么意思?这个函数究竟用pSomeClassObj->*Fn做了什么? 最佳答案

c++ - 特质这个词从何而来?

我知道C++Traits是编译时属性,可用于对模板进行一些编译时选择,但它们从何而来?谁能指出一些关于特征背后概念的基本背景Material?特质这个词从何而来?编辑:我想我应该完善这个问题。我知道“charactertrait”(或法语中的“traitdecaractère”forPhilipp),但谁想到将它应用于软件工程来描述某种属性,它是否具有我赋予它的特定含义“编译时间”属性(property)”? 最佳答案 这是一个常见的英语单词。例如,“性格特征”是一个人的属性,可以具有“刻薄”、“善良”或“耐心”等值。

c++ - 为什么这个程序总是崩溃

它在执行时崩溃:#includeintmain(){if(main());return0;}为什么? 最佳答案 它因Stackoverflow而崩溃当然,因为没有终止条件,但从技术上讲,C++编译器不允许编译它,因为在C++中:main()cannotbecalledfromwithinaprogram.Theaddressofmain()cannotbetaken.Themain()functioncannotbeoverloaded.标准内容:C兼容性附件3.6Change:Maincannotbecalledrecursive

c++ - 这个 bitset::count() 的实现是如何工作的?

下面是std::bitset::count与MSVC2010的实现:size_tcount()const{//countnumberofsetbitsstaticchar_Bitsperhex[]="\0\1\1\2\1\2\2\3\1\2\2\3\2\3\3\4";size_t_Val=0;for(int_Wpos=_Words;0>=4)_Val+=_Bitsperhex[_Wordval&0xF];return(_Val);}有人可以向我解释这是如何工作的吗?_Bitsperhex有什么诀窍? 最佳答案 _Bitsperhex

c++ - 为什么这个结构的大小是 5 而它应该是 4

我正在尝试将一些数据打包到一个结构中。结构定义如下:#pragmapack(push)#pragmapack(1)structData{unsignedchari:2;unsignedshortr:14;unsignedshortc:14;};#pragmapack(pop)由于位数是30,pack是1,我的理解是这个结构的大小应该是4,但是编译器说它的大小是5字节。我正在使用VisualStudio2012。请注意它们是位域。它的大小为4:structData{unsignedshorti:2;unsignedshortr:14;unsignedshortc:14;};

c++ - 这个构造函数正确吗?

我有两个类A和B,在类A中我有一个类型B的成员:classB{public:B();//defaultconstructor};classA{public:A();//constructorBb;};这是A类的构造函数的定义:A::A():b(){}在这里,我尝试使用初始化列表来初始化b。我的问题是,这种初始化b的方法是否正确,或者我只是在A的构造函数中创建另一个名为b的临时对象,它与无关A::b? 最佳答案 这是正确的。但是,由于b是类类型,如果A::A中没有提到b,默认构造函数将被自动调用初始化列表,所以你根本不需要提及它。